import { topCategory } from '@/api/constants'
import { getNavAll } from '@/api/nav'

// 分类模块
export default {
  namespaced: true,
  state() {
    return {
      // 分类信息集合,依赖 topCategory 设置，保证初始化就要数据，不至于白屏
      list: topCategory.map((item) => ({ name: item })),
    }
  },
  mutations: {
    // 修改分类
    setList(state, payload) {
      state.list = payload
    },
    // 隐藏二级
    hide(state, item) {
      const current = state.list.find((e) => e.id === item.id)
      current.open = false
    },
    // 显示二级
    show(state, item) {
      const current = state.list.find((e) => e.id === item.id)
      current.open = true
    },
  },
  actions: {
    // 获取分类数组
    async getList({ commit }) {
      const { result } = await getNavAll()
      // 给一级分类加上一个控制二级分类显示隐藏的数据open
      result.forEach((item) => (item.open = false))
      // 修改数据
      commit('setList', result)
    },
  },
}
